iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

Day22-[Ruby]@@類別變數與@實體變數差異的比較(Part II)

如果你想正確的計算目前有幾隻貓,
例如我現在養了一隻貓,
第一次應該是"有1隻貓"(kitty),
之後可能又養了一隻,
所以第二次應該是"有2隻貓"(kitty,kk)
有以下兩個方法

移動程式碼位置

class Cat
  @@amount = 0
  def initialize  
    @@amount += 1
  end
  
  def how_many_cats
    puts "有 #{@@amount} 隻貓"   
  end
end

kitty = Cat.new
kitty.how_many_cats  #有 1 隻貓

kk = Cat.new
kk.how_many_cats     #有 2 隻貓

實體變數與類別變數搭配

class Cat
 @@amount = 0
  def initialize  
    @amount = @@amount + 1
    @@amount += 1
  end
  
  def how_many_cats
    puts "有 #{@amount} 隻貓"  
  end
end

kitty = Cat.new
kk = Cat.new

kitty.how_many_cats    #有 1 隻貓
kk.how_many_cats       #有 2 隻貓

感覺很有趣吧?
或許你還有不同的方式,
也歡迎一起討論喔!

tags: Ruby 實體變數 類別變數

上一篇
Day21-[Ruby]@@類別變數與@實體變數差異的比較(Part I)
下一篇
Day23-[Ruby]類別(Class)與模組(Module)的差異在哪裡?
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言